package com.func.domain.activity.service;

import com.func.domain.activity.model.entity.PartakeRaffleActivityEntity;
import com.func.domain.activity.model.entity.UserRaffleOrderEntity;

/**
 * <p>
 * IRaffleActivityPartakeService
 * </p>
 *
 * @author Simon
 * @version 2025.03.14.1.0.0
 * @description 用于实现用户参与活动的业务流程
 * @since 2025-03-14
*/

public interface IRaffleActivityPartakeService {

    /**
     * 创建抽奖单 : 用户参与抽奖活动, 扣减活动账户库存, 产生抽奖单. 如果存在未被使用的抽奖单则直接返回已存在的抽奖
     * @param partakeRaffleActivityEntity 参与抽奖活动实体对象
     * @return 用户抽奖订单实体对象
     */
    UserRaffleOrderEntity createOrder(PartakeRaffleActivityEntity partakeRaffleActivityEntity);


    UserRaffleOrderEntity createOrder(String userId, Long activityId);
}
